﻿using Kingdee.BOS;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Validation;

namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 数据校验器
    /// </summary>
    public class TestValidator : AbstractValidator
    {
        public override void Validate(ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Context ctx)
        {
            foreach (ExtendedDataEntity obj in dataEntities)
            {   //采购员PurchaserId
                object PurchaserId = obj.DataEntity["PurchaserId"];
                //采购员是否为空
                if (PurchaserId == null)
                {   //报错
                    validateContext.AddError(obj.DataEntity,
                new ValidationErrorInfo
                        ("PurchaserId",//出错的字段Key，可以空
                        obj.DataEntity["Id"].ToString(),// 出错的字段Key，可以空
                        obj.DataEntityIndex, // 出错的数据包在全部数据包中的顺序
                        obj.RowIndex,// 出错的数据行在全部数据行中的顺序，如果校验基于单据头，此为0
                        "001",//错误编码，可以任意设定一个字符，主要用于追查错误来源
                        "单据编号" + obj.BillNo + "采购订单没有录入采购员",//错误的详细提示信息 
                        "提交" + obj.BillNo,// 错误的简明提示信息
                        Kingdee.BOS.Core.Validation.ErrorLevel.Error// 错误级别：警告、错误...
                        ));
                }
            }
        }
    }
}
